package cn.huijielong.modules.oss.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import org.springframework.web.multipart.MultipartFile;


/**
 * oss云文件（图片、文档）
 * 
 * @author xietong
 * @email xietong@gmail.com
 * @date 2018-04-03 10:12:58
 */
public class OssFileEntity implements Serializable {
	private static final long serialVersionUID = 1L;
	/**
	 * 私有文件
	 */
	public static final String STORE_TYPE_1 = "1";
	/**
	 * 公有文件
	 */
	public static final String STORE_TYPE_0 = "0";
	
	
	//
	private Long id;
	//来源表ID（如果是商品，就存sh_goods的对应ID）
	private Long tableId;
	//来源类别(1公用，2用户头像，3团购，4商品)
	private String tableType;
	//存储类别（0公用,1私有）
	private String storeType;
	//云存储空间名
	private String bucket;
	//名称
	private String name;
	//第一张图片路径
	private String firstUrl;
	//图片路径
	private String url;
	//概要描述
	private String summary;
	//排序
	private Integer orderNum;
	//状态（0可用，1不可用）
	private String status;
	//创建时间
	private Date created;
	//创建者
	private Integer createdBy;
	//文件类型（0图片，1文档）
	private String fileType;
	//文件大小（K）
	private Integer fileSize;
	//文件标签（归类）
	private String tag;
	//保留已经存在的图片
	private String[] persistUrls;
	//要上传到云服务器的文件
	private List<MultipartFile> uploadFile;
	/**
	 * 设置：
	 */
	public void setId(Long id) {
		this.id = id;
	}
	/**
	 * 获取：
	 */
	public Long getId() {
		return id;
	}
	/**
	 * 设置：来源表ID（如果是商品，就存sh_goods的对应ID）
	 */
	public void setTableId(Long tableId) {
		this.tableId = tableId;
	}
	/**
	 * 获取：来源表ID（如果是商品，就存sh_goods的对应ID）
	 */
	public Long getTableId() {
		return tableId;
	}
	/**
	 * 设置：来源类别(1公用，2用户头像，3团购，4商品)
	 */
	public void setTableType(String tableType) {
		this.tableType = tableType;
	}
	/**
	 * 获取：来源类别(1公用，2用户头像，3团购，4商品)
	 */
	public String getTableType() {
		return tableType;
	}
	/**
	 * 设置：存储类别（0公用,1私有）
	 */
	public void setStoreType(String storeType) {
		this.storeType = storeType;
	}
	/**
	 * 获取：存储类别（0公用,1私有）
	 */
	public String getStoreType() {
		return storeType;
	}
	/**
	 * 设置：云存储空间名
	 */
	public void setBucket(String bucket) {
		this.bucket = bucket;
	}
	/**
	 * 获取：云存储空间名
	 */
	public String getBucket() {
		return bucket;
	}
	/**
	 * 设置：名称
	 */
	public void setName(String name) {
		this.name = name;
	}
	/**
	 * 获取：名称
	 */
	public String getName() {
		return name;
	}
	/**
	 * 设置：图片路径
	 */
	public void setFirstUrl(String url) {
		this.firstUrl = url;
	}
	/**
	 * 获取：图片路径
	 */
	public String getFirstUrl() {
		return firstUrl;
	}
	
	public String getUrl() {
		return url;
	}
	public void setUrl(String url) {
		this.url = url;
	}
	/**
	 * 设置：概要描述
	 */
	public void setSummary(String summary) {
		this.summary = summary;
	}
	/**
	 * 获取：概要描述
	 */
	public String getSummary() {
		return summary;
	}
	/**
	 * 设置：排序
	 */
	public void setOrderNum(Integer orderNum) {
		this.orderNum = orderNum;
	}
	/**
	 * 获取：排序
	 */
	public Integer getOrderNum() {
		return orderNum;
	}
	/**
	 * 设置：状态（0可用，1不可用）
	 */
	public void setStatus(String status) {
		this.status = status;
	}
	/**
	 * 获取：状态（0可用，1不可用）
	 */
	public String getStatus() {
		return status;
	}
	/**
	 * 设置：创建时间
	 */
	public void setCreated(Date created) {
		this.created = created;
	}
	/**
	 * 获取：创建时间
	 */
	public Date getCreated() {
		return created;
	}
	/**
	 * 设置：创建者
	 */
	public void setCreatedBy(Integer createdBy) {
		this.createdBy = createdBy;
	}
	/**
	 * 获取：创建者
	 */
	public Integer getCreatedBy() {
		return createdBy;
	}
	/**
	 * 设置：文件类型（0图片，1文档）
	 */
	public void setFileType(String fileType) {
		this.fileType = fileType;
	}
	/**
	 * 获取：文件类型（0图片，1文档）
	 */
	public String getFileType() {
		return fileType;
	}
	/**
	 * 设置：文件大小（K）
	 */
	public void setFileSize(Integer fileSize) {
		this.fileSize = fileSize;
	}
	/**
	 * 获取：文件大小（K）
	 */
	public Integer getFileSize() {
		return fileSize;
	}
	/**
	 * 设置：文件标签（归类）
	 */
	public void setTag(String tag) {
		this.tag = tag;
	}
	/**
	 * 保留已经存在的图片
	 * @return
	 */
	public String[] getPersistUrls() {
		return persistUrls;
	}
	/**
	 * 保留已经存在的图片
	 * @param persistUrls
	 */
	public void setPersistUrls(String[] persistUrls) {
		this.persistUrls = persistUrls;
	}
	/**
	 * 获取：文件标签（归类）
	 */
	public String getTag() {
		return tag;
	}
	
	public List<MultipartFile> getUploadFile() {
		return uploadFile;
	}
	public void setUploadFile(List<MultipartFile> uploadFile) {
		this.uploadFile = uploadFile;
	}

	/**
	 * 1公用
	 */
	public static final String TABLE_TYPE_1 = "1";
	/**
	 * 2用户头像
	 */
	public static final String TABLE_TYPE_2 = "2";
	/**
	 * 3接龙头像
	 */
	public static final String TABLE_TYPE_3 = "3";
	/**
	 * 4商品
	 */
	public static final String TABLE_TYPE_4 = "4";
	/**
	 * 5.活动
	 */
	public static final String TABLE_TYPE_5 = "5";
	/**
	 * 填表
	 */
	public static final String TABLE_TYPE_6 = "6";
	
	
}
